import pytest

from api.api_login import ApiLogin
import api
from tool.get_log import GetLog
from tool.read_yaml import read_yaml
from tool.tool import Tool

logger = GetLog.get_logger()


class TestMp:
    # 1.初始化
    def setup_class(self):
        # 1.获取ApiMp对象
        self.mp = ApiLogin()

    # 2.登录接口测试方法
    @pytest.mark.parametrize('mobile,code', read_yaml('api_login.yaml'))
    def test01_mp_login(self, mobile, code):
        r = self.mp.api_mp_login(mobile, code)
        print('登录的结果为：', r.json())
        # 1.提取token
        # print(r.json())
        # token = r.json().get('data').get('token')
        # 2.追加请求信息头
        # api.headers['Authorization'] = 'Bearer ' + token
        # print('添加token后的header为：', api.headers)
        # 3.断言状态码
        # assert 1149864690826870784 == r.json().get('data').get('id')
        # 4.断言响应信息
        # assert 'OK' == r.json().get('message')

        # 提取完公共方法后
        try:
            # 提取token
            Tool.common_token(r)
            # 断言
            Tool.common_assert(r)
        except Exception as e:
            # 写日志
            logger.error(e)
            # 抛异常
            raise
    # 3.发布文章接口测试方法
    def test02_mp_article(self):
        pass
